package cn.edu.wynu.string;

public class StringDemo02 {
    public static void main(String[] args) {
        // 快速熟悉String提供的处理字符串的常用方法
        String s = "滇院精神小伙";
        // 1、获取字符串的长度
        System.out.println(s.length());

        // 2、获取字符串中某个位置的字符，索引从0开始
        char c = s.charAt(0);
        System.out.println(c);
        System.out.println(s.charAt(1));

        // 字符串的遍历
        for (int i = 0; i < s.length(); i++) {
            // i = 0 1 2 3 4 5
            char ch = s.charAt(i);
            System.out.print(ch);
        }
        System.out.println(); // 换行
        System.out.println("-------------");

        // 3、把字符串转换成字符数组，再进行遍历
        char[] chars = s.toCharArray();
        for (int i = 0; i < chars.length; i++) {
            System.out.print(chars[i]);
        }
        System.out.println();

        // 4、判断字符串内容，内容一样就返回true
        String s1 = new String("dys");
        String s2 = new String("dys");
        System.out.println(s1 == s2); // false，因为是判断s1和s2的地址是否相同
        System.out.println(s1.equals(s2)); // true，判断内容是否相同

        System.out.println("-------------");

        // 5、忽略大小写，比较字符串内容
        String c1 = "dys";
        String c2 = "DYS";
        System.out.println(c1.equals(c2)); // false
        System.out.println(c1.equalsIgnoreCase(c2)); // true 忽略大小写比较

        System.out.println("-------------");

        // 6、截取字符串内容（包前面，不包后面）
        String s3 = "dengyunsheng";
        String rs = s3.substring(0,4);
        System.out.println(rs);

        System.out.println("-------------");

        // 7、从当前索引位置一直截取到字符串的末尾
        String rs1 = s3.substring(4);
        System.out.println(rs1);

        System.out.println("-------------");

        // 8、把字符串中的某个字符或字符串替换，返回替换后的字符串
        String s4 = "dengyunsheng";
        String rs2 = s4.replace("y", "Y");
        System.out.println(rs2);
        System.out.println(s4);

        System.out.println("-------------");

        // 9、判断字符串是否包含某个关键字，必须完全匹配，大小写不一致也是false
        String s5 = "dengyunsheng";
        boolean rs3 = s5.contains("yunsheng"); // true
        System.out.println(rs3);

        System.out.println("-------------");

        // 10、把字符串转换为大写
        String s6 = "dengyunsheng";
        String rs4 = s6.toUpperCase();
        System.out.println(rs4);

        System.out.println("-------------");

        // 11、把字符串转换为小写
        String s7 = "DENGYUNSHENG";
        String rs5 = s7.toLowerCase();
        System.out.println(rs5);

        System.out.println("-------------");

        // 12、判断字符串是否已某个字符串开头
        String s8 = "dengyunsheng";
        boolean rs6 = s8.startsWith("den");
        System.out.println(rs6);

        System.out.println("-------------");

        // 13、判断字符串是否以某个字符串结尾
        boolean rs7 = s8.endsWith("g");
        System.out.println(rs7);

        System.out.println("-------------");

        // 14、把字符串按照某个指定内容分割成多个字符串，放到一个字符串数组中并返回。
        String s9 = "deng,yunsheng,is,a,good,boy";
        String[] rs8 = s9.split(",");
        for (int i = 0; i < rs8.length; i++) {
            System.out.println(rs8[i]);
        }
    }
}
